// db/sync.ts
import { env } from "process";
import db from "./index";
import { initModels } from "./models/index";

export const initDB = async () => {
  try {
    // 初始化所有模型
    initModels(db);

    // 检查连接
    await db.authenticate();
    // 根据环境选择同步方式
    if (env.NODE_ENV?.trim() === "development") {
      // 开发环境：基本同步
      await db.sync();
      console.log("所有模型已基本同步");
    } else {
      // 生产环境：使用安全变更
      await db.sync({ alter: true });
      console.log("所有模型已成功同步（安全变更）");
    }
  } catch (error) {
    console.error("数据库同步失败:", error);
    process.exit(1); // 退出进程
  }
};
